package com.jinxin.platform.cdacscontrolmgr.mapper;

import java.util.List;
import java.util.HashMap;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import com.jinxin.platform.cdacscontrolmgr.bean.CdacscontrolmgrCarRecord;

/**
 * <b>[cdacscontrolmgrCarRecord]数据访问接口</b>
 * 
 * <p>
 * 注意:此文件自动生成-禁止手工修改
 * </p>
 * 
 * @author @blue
 * @date 2021-09-22
 */
@Mapper
public interface CdacscontrolmgrCarRecordMapper {

	/**
	 * 插入一个数据持久化对象
	 *
	 * @param cdacscontrolmgrCarRecord
	 *            要插入的数据持久化对象
	 * @return 返回影响行数
	 */
	int insert(CdacscontrolmgrCarRecord cdacscontrolmgrCarRecord);

	/**
	 * 根据主键修改数据持久化对象
	 * 
	 * @param cdacscontrolmgrCarRecord
	 *            要修改的数据持久化对象
	 * @return int 返回影响行数
	 */
	int updateByKey(CdacscontrolmgrCarRecord cdacscontrolmgrCarRecord);

	/**
	 * 根据主键查询并返回数据持久化对象
	 * 
	 * @return CdacscontrolmgrCarRecord
	 */
	CdacscontrolmgrCarRecord selectByKey(@Param(value = "id") String id);

	/**
	 * 根据唯一组合条件查询并返回数据持久化对象
	 * 
	 * @return CdacscontrolmgrCarRecord
	 */
	CdacscontrolmgrCarRecord selectOne(HashMap param);

	/**
	 * 根据param查询并返回数据持久化对象集合
	 * 
	 * @return List<CdacscontrolmgrCarRecord>
	 */
	List<CdacscontrolmgrCarRecord> list(HashMap param);

	/**
	 * 返回分页数据持久化对象集合
	 * 
	 * @return List<CdacscontrolmgrCarRecord>
	 */
	List<CdacscontrolmgrCarRecord> listPage(HashMap param);
    /**
     * 返回分页数据总数
     *
     * @return
     */
    int listPageCount(HashMap param);

	/**
	 * 根据主键删除数据持久化对象
	 *
	 * @return 影响行数
	 */
	int deleteByKey(@Param(value = "id") String id);

	List<String> listBarrierOptions(@Param(value = "projectId") String projectId);

	List<String> listCategory(@Param(value = "projectId") String projectId);

}
